package com.xyh.concurrency.annoations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 注解的相关https://blog.csdn.net/cb905259982/article/details/73161948
 * Target 表示这个注解可以作用那些java 类型下可以引用
 * Retention 表示在哪什么时候消失 编译时还是编译完成后使用
 * <p>
 * ElementType
 * ThreadSafe 自定义注解表示线程安全
 */
@Target(ElementType.TYPE)   //接口、类、枚举、注解
@Retention(RetentionPolicy.SOURCE)
public @interface ThreadSafe {
    /**
     * 定义完成注解最好设置默认值
     *
     * @return
     */
    String value() default "";
}
